//package com.amumu.drama.common.moudles.sumapay.servlet;
//
//import com.amumu.drama.common.moudles.sumapay.config.SumapayStaticVar;
//import com.amumu.drama.common.moudles.sumapay.dto.ReturnModel;
//import com.amumu.drama.common.moudles.sumapay.tools.JsonToolUtil;
//import com.amumu.drama.common.moudles.sumapay.tools.MD5Tools;
//import org.apache.http.HttpStatus;
//import org.apache.http.client.HttpClient;
//
//import javax.servlet.ServletException;
//import javax.servlet.http.HttpServlet;
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.io.PrintWriter;
//import java.util.Map;
//
//
//
//public class IZZ2000_Servlet_id extends HttpServlet {
//	/**
//	 *
//	 */
//	private static final long serialVersionUID = 1L;
//
//	/*
//	 * public static void main(String[] args) throws IOException, URISyntaxException
//	 * { httpPost(); }
//	 */
//	@Override
//	public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//
//		doPost(request, response);
//	}
//
//	@Override
//	public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//		response.setContentType("text/html;charset=GBK");
//		request.setCharacterEncoding("GBK");
//		response.setCharacterEncoding("GBK");
//		PrintWriter out = response.getWriter();
//
//		// 得到sign，并获取跳转url
//		String requestType = request.getParameter("requestType");
//		String requestId = request.getParameter("requestId");
//		String merchantCode = request.getParameter("merchantCode");
//		String totalBizType = request.getParameter("totalBizType");
//		String totalPrice = request.getParameter("totalPrice");
//		String goodsDesc = request.getParameter("goodsDesc");
//		String orderValidity = request.getParameter("orderValidity");
//		String noticeUrl = request.getParameter("noticeUrl");
//		String passThrough = request.getParameter("passThrough");
//		String buyerId = request.getParameter("buyerId");
//		String buyerLogonId = request.getParameter("buyerLogonId");
//		String tradeNo = request.getParameter("tradeNo");
//
//		String productId = request.getParameter("productId");
//		String productName = request.getParameter("productName");
//		String fund = request.getParameter("fund");
//		String merAcct = request.getParameter("merAcct");
//		String bizType = request.getParameter("bizType");
//		String productNumber = request.getParameter("productNumber");
//
//		String merKey = request.getParameter("merKey");
//
//		StringBuilder sb = new StringBuilder();
//		sb.append(requestType);
//		sb.append(requestId);
//		sb.append(buyerId);
//		sb.append(buyerLogonId);
//		sb.append(merchantCode);
//		sb.append(totalBizType);
//		sb.append(totalPrice);
//		sb.append(goodsDesc);
//		sb.append(orderValidity);
//		sb.append(noticeUrl);
//		sb.append(passThrough);
//		String signature = MD5Tools.Md5(sb.toString(), merKey);
//		HttpClient client = new HttpClient();
//		PostMethod postmethod = new PostMethod(SumapayStaticVar.url);
//
//		postmethod.getParams().setParameter(HttpMethodParams.HTTP_CONTENT_CHARSET, "GBK");
//
//		postmethod.addParameter("requestType", requestType);
//		postmethod.addParameter("requestId", requestId);
//		postmethod.addParameter("buyerId", buyerId);
//		postmethod.addParameter("buyerLogonId", buyerLogonId);
//		postmethod.addParameter("merchantCode", merchantCode);
//		postmethod.addParameter("totalBizType", totalBizType);
//		postmethod.addParameter("totalPrice", totalPrice);
////		postmethod.addParameter("goodsDesc", goodsDesc);
//		postmethod.addParameter("noticeUrl", orderValidity);
//		postmethod.addParameter("noticeUrl", noticeUrl);
//		postmethod.addParameter("passThrough", passThrough);
//
//		postmethod.addParameter("signature", signature);
////
//		postmethod.addParameter("productId", productId);
//		postmethod.addParameter("productName", productName);
//		postmethod.addParameter("fund", fund);
//		postmethod.addParameter("merAcct", merAcct);
//		postmethod.addParameter("bizType", bizType);
//		postmethod.addParameter("productNumber", productNumber);
//
//		System.out.println(signature + "=signature");
//		System.out.println(postmethod + "=postmethod");
//		int statusCode = client.executeMethod(postmethod);
//
//		byte[] responseBody = null;
//		String responseBody1 = "";
//		if (statusCode != HttpStatus.SC_OK) {
//			// TODO 请求失败，进行相应业务处理
//			response.getOutputStream().write(("请求失败，http返回值：" + statusCode).getBytes("GBK"));
//			return;
//		} else {
//			// 获取返回值
//			responseBody = postmethod.getResponseBody();
//
//		}
//		responseBody1 = new String(responseBody, "GBK");
//		Map<String, Object> resultMap = JsonToolUtil.transJsonToMap(responseBody1);
//
//		String returnRequestId = (String) resultMap.get("requestId");
//		String result = (String) resultMap.get("result");
//		String codeUrl = (String) resultMap.get("codeUrl");
//		String codeImgString = (String) resultMap.get("codeImgString");
//		String payId = (String) resultMap.get("payId");
//		String errorMsg = (String) resultMap.get("errorMsg");
//		String returnSignature = (String) resultMap.get("resultSignature");
//
//		StringBuilder returnSb = new StringBuilder();
//
//		returnSb.append(requestId);
//		returnSb.append(result);
//		returnSb.append(codeUrl);
//		returnSb.append(codeImgString);
//		returnSb.append(payId);
//		returnSb.append(passThrough);
//
//		String returnSignStr = returnSb.toString();
//		String signature2 = MD5Tools.Md5(returnSb.toString(), merKey);
//		String signCheck;
//		System.out.println(returnSb + "=returnSb");
//		System.out.println(signature2 + "=signature2");
//		System.out.println(returnSignature + "=returnSignature");
//		if (signature2.equals(returnSignature)) {
//			signCheck = "验签成功";
//		} else {
//			signCheck = "验签失败";
//		}
//		ReturnModel returnModel = new ReturnModel();
//
//		returnModel.setRequestId(returnRequestId);
//
//		request.getSession().setAttribute("returnModel", returnModel);
//		response.sendRedirect("IZZ1000_Sign.jsp");
//
//		out.flush();
//		out.close();
//	}
//
//	@Override
//	public void init() throws ServletException {
//		// Put your code here
//	}
//
//	public static void main(String[] args) {
//		String a = "20171115152613715200300374测试icbcDLB11028叼渴622632194112204390";
//		String b = MD5Tools.Md5(a, "CSSH_KEY");
//		System.out.println(b);
//	}
//}
